Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Chapter 36
Using Middleware Products

This chapter examines the use of middleware to help improve the performance of your client/server configuration. The chapter begins by defining middleware and how you can use it in your applications. After this introduction, the chapter reexamines the difference between the two-tiered and three-tiered models, focusing on how applications can take advantage of these architectures. You also learn how some systems take advantage of application servers to improve overall system performance. Finally, the chapter discusses some applications you can use to take advantage of the three-tiered architecture.

What Is Middleware?

Middleware is a generic term used to describe any software or system used to facilitate processing as an intermediary between a client and server system. The term itself is not very descriptive except for the fact that these types of systems operate “in the middle” of the application.

Middleware can take many forms, some of which involve off-the-shelf components and others that involve custom applications. Middleware is the key component in the three-tiered model introduced in Chapter 34, “Tuning the Client System.” The following sections describe the difference between the two-tiered and three-tiered models used in client/server computing and explain how the middleware components function.

Two-Tiered System Architecture

The two-tiered system is the traditional client/server system you are probably most used to. This system consists of one or more servers and a client. The client runs all or part of the application and the server provides the RDBMS functionality (see Figure 36.1). In this manner, the client and the server work together to provide the required functionality to the user community.


Figure 36.1  The traditional two-tiered client/server configuration.

This model is typical for most client/server configurations today. However, I believe that many new client/server applications will move to the three-tiered model in the future because of its increased functionality and performance.

Three-Tiered System Architecture

The three-tiered client/server system uses the same client configuration as the two-tiered model but pushes some of the application logic away from the server onto another machine. The third machine is sometimes known as an application server (see Figure 36.2). The application server is responsible for running much of the centralized application code related to the server, freeing the server to handle RDBMS activities.


Figure 36.2  The three-tiered client/server configuration.

You can claim several benefits from moving the application away from the server:

  Increased performance. By splitting the application and RDBMS processing onto separate machines, you can tune each for their specialty. By tuning the RDBMS server for maximum throughput and the application for increased application response time, you can optimize each. You don’t have to tune your RDBMS server to handle 1,000+ connections; let the application server do that.
  Reduced contention. Because you do not need as many SQL*Net connections into the database server, contention may be reduced. Each SQL*Net connection into the server takes certain system resources, including memory and other CPU resources needed to service requests. By reducing the number of connections, the overall load may not change but some of the overhead is reduced. Memory usage is reduced by reducing the number of connections; this saved memory can be used for more productive purposes such as additional database block buffers.
  Increased configuration flexibility. Because the application is removed from the server, you have more configuration flexibility. You are not limited to one application server; you can choose to have several application servers. For example, the RDBMS may service the entire company, but you may choose to split up the application servers for accounts payable, finance, accounts receivable, and so on.
  Increased control. Because the application servers handle requests from the users, you can use queuing to control the access to the database server. When you take advantage of TM features such as queuing, you can queue some tasks or serialize them to reduce contention.
  Functional separation. By separating the functions of the database server and the application server, each can be maintained and serviced separately. Multiple application servers and database servers can provide for redundancy.

These reasons lead me to believe that the three-tiered architecture will become more predominant in large installations with large applications. Some applications such as SAP financial systems already take advantage of the three-tiered architecture. Other application layers used as a middle tier (such as Transaction Monitors) have been in use for many years.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.